package com.zhn.evsi.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhn.evsi.domain.dto.evsi.EvsiCharacterLocationSolarDTO;
import com.zhn.evsi.domain.dto.evsi.EvsiCharacterOnlineDTO;
import com.zhn.evsi.domain.dto.evsi.EvsiCharacterShipDTO;
import com.zhn.evsi.domain.dto.evsi.character.*;
import com.zhn.evsi.domain.dto.evsi.clone.EvsiCloneDTO;
import com.zhn.evsi.domain.entity.evsi.EvsiCharacter;

import java.util.List;

public interface IEvsiCharacterService extends IService<EvsiCharacter> {

    /**
     * 获取角色公开信息
     * */
    EvsiCharacterPublicInfoDTO publicInfo();

    /**
     * 获取当前地址
     * */
    EvsiCharacterLocationSolarDTO location();

    /**
     * 获取登录状态
     * */
    EvsiCharacterOnlineDTO online();

    /**
     * 获取当前舰船
     * */
    EvsiCharacterShipDTO ship();

    /**
     * 获取克隆体
     * */
    EvsiCloneDTO clones();

    /**
     * 获取植入体
     * */
    List<JSONObject> implants();

    /**
     * 研究
     * */
    Object agentsResearch();

    /**
     * 蓝图
     * */
    List<EvsiCharacterBlueprintsDTO> blueprints();

    /**
     * 获取军团历史
     * */
    List<EvsiCharacterCorporationHistoryDTO> corporationHistory();

    /**
     * 跳跃疲劳
     * */
    EvsiCharacterFatigueDTO fatigue();

    /**
     * 奖牌
     * */
    Object medals();

    /**
     * 角色通知
     * */
    List<EvsiCharacterNotificationsDTO> notifications();

    /**
     * 联系人通知
     * */
    List<EvsiCharacterNotificationContactsDTO> notificationContacts();

    /**
     * 角色肖像
     * */
    EvsiCharacterPortraitDTO portrait();

    /**
     * 角色所在军团权限
     * */
    EvsiCharacterRolesDTO roles();

    /**
     * 角色榜单
     * */
    List<EvsiCharacterStandingsDTO> standings();

    /**
     * 军团标题
     * */
    Object titles();
}
